/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
var registroNumeracion=null;
var dsNumeracion=null;

function numeroExpediente_main(){
    dsNumeracion=new Ext.data.Store({
        autoDestroy: true,
        url: "jsonObtenerNumeraciones.jsp",
        reader: new Ext.data.JsonReader(
        {
            root: "numeracionexpediente",
            fields:
            [
            {
                name: "nnuex_identificador",
                type: "integer"
            },
            {
                name: "ntipp_identificador",
                type: "integer"
            },
            {
                name: "ctipp_descripcion",
                type: "string"
            },
            {
                name: "nnuex_limiteinferior",
                type: "integer"
            },
            {
                name: "nnuex_valoractual",
                type: "integer"
            },
            {
                name: "nusua_identificador",
                type: "integer"
            }
            ]
        })
    });

    dsNumeracion.on("exception",function(proxy, type, action, options, response, arg){
        Ext.MessageBox.alert("Error","Sucedio un error al cargar la numeracion"+response.responseText);
    });

    var grdNumeracioExpediente=new Ext.grid.GridPanel({
        store: dsNumeracion,
        loadMask: false,
        height:470,
        border:true,
        frame: false,
        columns:
        [new Ext.grid.RowNumberer(),
        {
            header: "Tipo Personal Policial",
            dataIndex: "ctipp_descripcion",
            width: 200,
            sortable:true
        },{
            header: "Limite Inferior",
            dataIndex: "nnuex_limiteinferior",
            width: 100,
            sortable:true
        },{
            header: "Valor Actual",
            dataIndex: "nnuex_valoractual",
            width: 100,
            sortable:true
        }
        ],
        tbar:[ {
            text:'Modificar',
            iconCls:'icon-modify',
            handler: function(){
                if (registroNumeracion!=null){
                    modificarNumeracion(registroNumeracion.data);
                }else{
                    alert("Debe Seleccionar un registro para modificar");
                }
            }
        }]
    });

    grdNumeracioExpediente.on("rowclick",function(grid,rowIndex,e){
        registroNumeracion=grid.getStore().getAt(rowIndex);
    });

    var seleccionNumeracion=grdNumeracioExpediente.getSelectionModel();
    seleccionNumeracion.on("rowselect",function(sm,fila,registro){
        registroNumeracion=registro;
    });

    dsNumeracion.load();
    var win = new Ext.Window({
        title:'Numeracion Expediente',
        closeAction:'destroy',
        width:600,
        height:300,
        x:0,
        y:0,
        shim:false,
        maximizable:false,
        resizable: false,
        animCollapse:false,
        layout: 'fit',
        items:grdNumeracioExpediente
    });
    win.show();
}

function modificarNumeracion(data){
    var frmMantenerNroExpediente =new Ext.Panel({
        bodyBorder:true,
        height:400,
        bodyStyle: "background-color:#DFE8F6; border:0"
    });
    new Ajax.Request("frmMantenerNroExpediente.html",{
        method: "post",
        asynchronous:false,
        onSuccess: function(transport){
            frmMantenerNroExpediente.html=transport.responseText;
            var winMantenerNroExpediente= new Ext.Window({
                title: 'Modificar Numeracion expediente',
                closeAction:'destroy',
                id: "winMantenerNroExpediente",
                width:410,
                height:150,
                items:[frmMantenerNroExpediente],
                shim:false,
                modal:true,
                maximizable:true,
                minimizable:false,
                animCollapse:false,
                resizable:false,
                constrainHeader:true,
                bbar:[{
                    text:'Grabar',
                    iconCls:'icon-save',
                    handler: function(){
                        grabarNumeroExpediente();
                    }
                }, '-', {
                    text:'Cancelar',
                    iconCls:'icon-cancel',
                    handler: function(){
                        winMantenerNroExpediente.destroy();
                    }
                }]
            });
            winMantenerNroExpediente.show();
            winMantenerNroExpediente.focus();
            $("frmMantenerNumero").txtid.value = data.nnuex_identificador;
            $("frmMantenerNumero").txttipopersonal.value = data.ctipp_descripcion;
            $("frmMantenerNumero").txtlimite.value = data.nnuex_limiteinferior;
            $("frmMantenerNumero").txtactual.value = data.nnuex_valoractual;

        },
        onFailure:function(t){
            Information("Aviso del Sistema","Sucedio un error al intentar cargar el formulario"+t.responseText);
        }
    });
}

function grabarNumeroExpediente(){
    new Ajax.Request("jsonGrabarNumeracion.jsp",{
        method:"post",
        parameters:{
            nnuex_identificador: document.getElementById("txtid").value,
            nnuex_limiteinferior:document.getElementById("txtlimite").value,
            nnuex_valoractual: document.getElementById("txtactual").value
        },
        onSuccess: function(transport){
            var operacion = transport.responseText.evalJSON();
            if (operacion.resultado){
                alert("El registro se actualizo correctamente");
            }else{
                alert("Sucedio un  error al intentar actualizar el registro");
            }
            Ext.getCmp("winMantenerNroExpediente").destroy();
            dsNumeracion.load();
        },
        onFailure: function(transport){
            Information("Aviso del Sistema","Sucedio un error al intentar eliminar el registro"+transport.responseText);
        }
    });
}